package qc.common.core.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 时间段次类型枚举
 * 与枚举TimeRangeLengthEnum区分开；由于TimeRangeLengthEnum枚举已经在其他系统中使用，修改需要对已有数据库中的数据进行修改；
 * 本枚举作为数据统计需要进行多种不同时间段次统计使用，多种不同时间段次通过累加数值实现
 *
 * @author QuCheng Tech
 * @since 2025/1/6
 */
@Getter
@AllArgsConstructor
public enum TimeStageTypeEnum {
    /***
     * 未定义
     */
    UN_DEFINE(0, "未定义"),
    /***
     * 分钟
     */
    MINUTE(1, "分钟"),
    /***
     * 天
     */
    DAY(2, "天"),
    /***
     * 周
     */
    WEEK(4, "周"),
    /***
     * 旬
     */
    TEN_DAYS(8, "旬"),
    /***
     * 月
     */
    MONTH(16, "月"),
    /***
     * 季度
     */
    QUARTER(32, "季度"),
    /***
     * 年
     */
    YEAR(64, "年");

    @EnumValue
    private int index;
    private String name;
}
